remove obsolete definition of filter_vecs_t.
don't included filterdefs.h in each filters .cc file.
add QVector include to each filters .h file.
#include "defs.h"
#include "arcdist.h"
-#include "filterdefs.h"
#include "grtcirc.h"
#include <cmath>
#ifndef ARCDIST_H_INCLUDED_
#define ARCDIST_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for ARG_NOMINMAX, ARGTYPE_BOOL, Waypoint (ptr only)
#include "filter.h" // for Filter
#include <QtCore/QtGlobal> // for qAsConst, QAddConst<>::Type, foreach
#include "defs.h"
-#include "filterdefs.h"
#include "bend.h"
#include "grtcirc.h" // for RAD, heading_true_degrees, gcdist, linepart, radtometers, DEG
#ifndef BEND_H_INCLUDED_
#define BEND_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for route_head (ptr only), ARGTYPE_FLOAT, ARG_NOMINMAX
#include "filter.h" // for Filter
#include "defs.h"
#include "discard.h"
-#include "filterdefs.h"
#include <cstdlib>
// Can't use QRegularExpression because Linux won't get Qt 5 for years.
#include <QtCore/QRegExp>
// Can't use QRegularExpression because Linux won't get Qt 5 for years.
#include <QtCore/QRegExp> // for QRegExp
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for ARG_NOMINMAX, ARGTYPE_BEGIN_REQ, ARGTYPE_S...
#include "filter.h" // for Filter
#include <QtCore/QtGlobal> // for foreach
#include "defs.h"
-#include "filterdefs.h"
#include "duplicate.h"
#include "src/core/datetime.h" // for DateTime
#ifndef DUPLICATE_H_INCLUDED_
#define DUPLICATE_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for ARGTYPE_BOOL, ARG_NOMINMAX, Waypoint (ptr only)
#include "filter.h" // for Filter
#include "defs.h"
+// Filter have access to the global_waypoint_list, which formats really
+// shouldn't have.
+extern WaypointList* global_waypoint_list;
+
class Filter
{
public:
*/
-
-
-/*
- * Filters can do some things that modules really shouldn't do.
- * This is our (weak) attempt to make that distinction.
- */
-
#ifndef FILTERDEFS_H_INCLUDED_
#define FILTERDEFS_H_INCLUDED_
#include "defs.h"
-#include "filter.h"
-
-extern WaypointList* global_waypoint_list;
-
-using filter_init = void (*)();
-using filter_process = void (*)();
-using filter_deinit = void (*)();
-using filter_exit = void (*)();
-
-struct filter_vecs_t {
- filter_init f_init;
- filter_process f_process;
- filter_deinit f_deinit;
- filter_exit f_exit;
- QVector<arglist_t>* args;
-};
+
+
+// forward declare filter to avoid exposing global_waypoint_list by filter.h
+class Filter;
Filter* find_filter_vec(const QString&);
void free_filter_vec(Filter*);
#include "defs.h"
-#include "filterdefs.h"
#include "height.h"
#include <cmath>
#include <cstdlib>
#ifndef HEIGHT_H_INCLUDED_
#define HEIGHT_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for ARG_NOMINMAX, Waypoint (ptr only), arglist_t
#include "filter.h" // for Filter
#include <QtCore/QtGlobal> // for qAsConst, QAddConst<>::Type, foreach
#include "defs.h"
-#include "filterdefs.h"
#include "interpolate.h"
#include "grtcirc.h" // for linepart, RAD, gcdist, radtomiles
#include "src/core/datetime.h" // for DateTime
#ifndef INTERPOLATE_H_INCLUDED_
#define INTERPOLATE_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for ARG_NOMINMAX, arglist_t, ARGTYPE_BEGIN_EXCL, ARG...
#include "filter.h" // for Filter
*/
#include "defs.h"
-#include "filterdefs.h"
#include "nukedata.h"
#if FILTERS_ENABLED
#ifndef NUKEDATA_H_INCLUDED_
#define NUKEDATA_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for ARGTYPE_BOOL, ARG_NOMINMAX, arglist_t, ARG_TERMI...
#include "filter.h" // for Filter
#include <QtCore/QtGlobal> // for foreach
#include "defs.h"
-#include "filterdefs.h" // for global_waypoint_list
#include "polygon.h"
#include "gbfile.h" // for gbfclose, gbfgetstr, gbfopen, gbfile
#ifndef POLYGON_H_INCLUDED_
#define POLYGON_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for ARG_NOMINMAX, arglist_t, ARGTYPE_BOOL, ARGTYPE_FILE
#include "filter.h" // for Filter
#include <QtCore/QtGlobal> // for qAsConst, QAddConst<>::Type
#include "defs.h"
-#include "filterdefs.h"
#include "grtcirc.h" // for RAD, gcdist, radtometers
#include "position.h"
#ifndef POSITION_H_INCLUDED_
#define POSITION_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for route_head (ptr only), ARG_NOMINMAX, ARGTYPE_FLOAT
#include "filter.h" // for Filter
#include <QtCore/QtGlobal> // for foreach
#include "defs.h"
-#include "filterdefs.h"
#include "radius.h"
#include "grtcirc.h" // for RAD, gcdist, radtomiles
#ifndef RADIUS_H_INCLUDED_
#define RADIUS_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for ARG_NOMINMAX, ARGTYPE_FLOAT, ARGTYPE_REQUIRED
#include "filter.h" // for Filter
#include <QtCore/QList> // for QList<>::iterator
#include "defs.h"
-#include "filterdefs.h"
#include "reverse_route.h"
#if FILTERS_ENABLED
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for Waypoint (ptr only), arglist_t, route_head (ptr ...
#include "filter.h" // for Filter
*/
#include "defs.h"
-#include "filterdefs.h"
#include "grtcirc.h"
#include "smplrout.h"
#include <cstdlib>
#ifndef SMPLROUT_H_INCLUDED_
#define SMPLROUT_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for route_head (ptr only), Waypoint (ptr only), ARGT...
#include "filter.h" // for Filter
#include "defs.h"
#include "src/core/datetime.h" // for DateTime
-#include "filterdefs.h"
#include "sort.h"
#if FILTERS_ENABLED
#ifndef SORT_H_INCLUDED_
#define SORT_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for ARGTYPE_BOOL, ARG_NOMINMAX, arglist_t, ARG_TERMI...
#include "filter.h" // for Filter
#include <cstdlib> // for atoi
#include "defs.h"
-#include "filterdefs.h"
#include "stackfilter.h"
#if FILTERS_ENABLED
#ifndef STACKFILTER_H_INCLUDED_
#define STACKFILTER_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for ARGTYPE_BOOL, ARG_NOMINMAX, ARGTYPE_BEGIN_EXCL
#include "filter.h" // for Filter
*/
#include "defs.h"
-#include "filterdefs.h"
#include "swapdata.h"
#define MYNAME "swapdata"
#ifndef SWAPDATA_H_INCLUDED_
#define SWAPDATA_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for arglist_t, Waypoint
#include "filter.h" // for Filter
#include <QtCore/QtGlobal> // for qAsConst, foreach, qPrintable, QAddConst<>::Type, qint64
#include "defs.h"
-#include "filterdefs.h"
#include "trackfilter.h"
#include "grtcirc.h" // for RAD, gcdist, radtometers, heading_true_degrees
#include <QtCore/QDateTime> // for QDateTime
#include <QtCore/QList> // for QList
+#include <QtCore/QVector> // for QVector
#include <QtCore/QtGlobal> // for qint64
#include "defs.h" // for ARG_NOMINMAX, route_head (ptr only), ARG...
#include <QtCore/QtGlobal> // for foreach
#include "defs.h"
-#include "filterdefs.h"
#include "transform.h"
#define TRANSFORM_H_INCLUDED_
#include <QtCore/QString> // for QString
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for route_head (ptr only), ARG_NOMINMAX, ARGTY...
#include "filter.h" // for Filter
*/
#include "defs.h"
-#include "filterdefs.h"
#include "validate.h"
#include <cstdio>
#ifndef VALIDATE_H_INCLUDED_
#define VALIDATE_H_INCLUDED_
+#include <QtCore/QVector> // for QVector
+
#include "defs.h" // for route_head (ptr only), ARGTYPE_BOOL, ARG_NOMINMAX
#include "filter.h" // for Filter